package com.jvyou.house.mapper;

import com.jvyou.house.domain.House;
import com.jvyou.house.domain.HouseImage;

import java.util.List;

/**
 * 房源Mapper接口
 *
 * @author Jvyou
 * @date 2024-09-16
 */
public interface HouseMapper {
    /**
     * 查询房源
     *
     * @param id 房源主键
     * @return 房源
     */
    public House selectHouseById(Long id);


    List<House> selectHouseByIds(List<Long> ids);

    /**
     * 查询房源列表
     *
     * @param house 房源
     * @return 房源集合
     */
    public List<House> selectHouseList(House house);

    /**
     * 新增房源
     *
     * @param house 房源
     * @return 结果
     */
    public int insertHouse(House house);

    /**
     * 修改房源
     *
     * @param house 房源
     * @return 结果
     */
    public int updateHouse(House house);

    /**
     * 删除房源
     *
     * @param id 房源主键
     * @return 结果
     */
    public int deleteHouseById(Long id);

    /**
     * 批量删除房源
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHouseByIds(Long[] ids);

    /**
     * 批量删除房屋图片
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHouseImageByHouseIds(Long[] ids);

    /**
     * 批量新增房屋图片
     *
     * @param houseImageList 房屋图片列表
     * @return 结果
     */
    public int batchHouseImage(List<HouseImage> houseImageList);


    /**
     * 通过房源主键删除房屋图片信息
     *
     * @param id 房源ID
     * @return 结果
     */
    public int deleteHouseImageByHouseId(Long id);

    List<HouseImage> getImages(Long id);
}
